Data Visualization with ggplot2

Install and load ‘ggplot2’ package

#install.packages('ggplot2')  #If this is the first time you use ggplot, need to install first.
library(ggplot2)

Histogram

ggplot(diamonds, aes(x = carat)) +        #initialize plot with ggplot()
geom_histogram(bins =30)                 #Add layer with geom_histogram()

#Try bins = 5

*** Barplot ***

counts <- table(diamonds$clarity)    #Count how many samples in each clarity category
counts

   I1   SI2   SI1   VS2   VS1  VVS2  VVS1    IF 
  741  9194 13065 12258  8171  5066  3655  1790 
ggplot(diamonds, aes(x = clarity)) +           #Initialize plot with ggplot()
geom_bar(fill = "lightblue", color = "black")  #Add layer with geom_bar()

Boxplot

Explore price distribution of the daimond in each clarity category

ggplot(diamonds, aes(x = clarity, y = price)) +   #Initialize plot with ggplot()
geom_boxplot(fill = "salmon", color = "red")      #Add layer with geom_bar()

Scatter plot - Effect of carat and clarity

p <- ggplot(diamonds, aes(x = carat, y = price)) +  #initialize plot with ggplot( )
     geom_point(aes(color = clarity))               #Add layer of points with geom_point
p

Interactive Data Visualization with Plotly in ggplot

Install and load ‘plotly’ library

#install.packages("plotly")
library(plotly)
package <U+393C><U+3E31>plotly<U+393C><U+3E32> was built under R version 3.4.4Loading required package: ggplot2

Attaching package: <U+393C><U+3E31>plotly<U+393C><U+3E32>

The following object is masked from <U+393C><U+3E31>package:ggplot2<U+393C><U+3E32>:

    last_plot

The following object is masked from <U+393C><U+3E31>package:stats<U+393C><U+3E32>:

    filter

The following object is masked from <U+393C><U+3E31>package:graphics<U+393C><U+3E32>:

    layout

Get a glimpse with ‘ggplotly’

p <- ggplot(diamonds, aes(x = carat, y = price)) +  #initialize plot with ggplot( )
     geom_point(aes(color = clarity))               #add layer of points with geom_point
ggplotly(p)                                         #make interactive with ggplotly
LS0tDQp0aXRsZTogIkRhdGEgdmlzdWFsaXphdGlvbiB3aXRoIGdncGxvdDIgYW5kIHBsb3RseSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIERhdGEgVmlzdWFsaXphdGlvbiB3aXRoIGdncGxvdDINCg0KSW5zdGFsbCBhbmQgbG9hZCAnZ2dwbG90MicgcGFja2FnZQ0KDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCdnZ3Bsb3QyJykgICNJZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSB1c2UgZ2dwbG90LCBuZWVkIHRvIGluc3RhbGwgZmlyc3QuDQpsaWJyYXJ5KGdncGxvdDIpDQpgYGANCg0KDQoNCg0KDQoNCioqSGlzdG9ncmFtKioNCmBgYHtyfQ0KZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0KSkgKyAgICAgICAgI2luaXRpYWxpemUgcGxvdCB3aXRoIGdncGxvdCgpDQpnZW9tX2hpc3RvZ3JhbShiaW5zID0zMCkgICAgICAgICAgICAgICAgICNBZGQgbGF5ZXIgd2l0aCBnZW9tX2hpc3RvZ3JhbSgpDQoNCiNUcnkgYmlucyA9IDUNCmBgYA0KDQoNCioqKiBCYXJwbG90ICoqKg0KDQpgYGB7cn0NCmNvdW50cyA8LSB0YWJsZShkaWFtb25kcyRjbGFyaXR5KSAgICAjQ291bnQgaG93IG1hbnkgc2FtcGxlcyBpbiBlYWNoIGNsYXJpdHkgY2F0ZWdvcnkNCmNvdW50cw0KDQpgYGANCg0KDQpgYGB7cn0NCmdncGxvdChkaWFtb25kcywgYWVzKHggPSBjbGFyaXR5KSkgKyAgICAgICAgICAgI0luaXRpYWxpemUgcGxvdCB3aXRoIGdncGxvdCgpDQpnZW9tX2JhcihmaWxsID0gImxpZ2h0Ymx1ZSIsIGNvbG9yID0gImJsYWNrIikgICNBZGQgbGF5ZXIgd2l0aCBnZW9tX2JhcigpDQpgYGANCg0KDQoqKkJveHBsb3QqKg0KDQpFeHBsb3JlIHByaWNlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgZGFpbW9uZCBpbiBlYWNoIGNsYXJpdHkgY2F0ZWdvcnkNCmBgYHtyfQ0KZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNsYXJpdHksIHkgPSBwcmljZSkpICsgICAjSW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCkNCmdlb21fYm94cGxvdChmaWxsID0gInNhbG1vbiIsIGNvbG9yID0gInJlZCIpICAgICAgI0FkZCBsYXllciB3aXRoIGdlb21fYmFyKCkNCmBgYA0KDQojU2NhdHRlciBwbG90IC0gRWZmZWN0IG9mIGNhcmF0IGFuZCBjbGFyaXR5DQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0LCB5ID0gcHJpY2UpKSArICAjaW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCApDQogICAgIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gY2xhcml0eSkpICAgICAgICAgICAgICAgI0FkZCBsYXllciBvZiBwb2ludHMgd2l0aCBnZW9tX3BvaW50DQpwDQpgYGANCg0KDQoNCiMjIEludGVyYWN0aXZlIERhdGEgVmlzdWFsaXphdGlvbiB3aXRoIFBsb3RseSBpbiBnZ3Bsb3QNCg0KSW5zdGFsbCBhbmQgbG9hZCAncGxvdGx5JyBsaWJyYXJ5DQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQ0KDQpsaWJyYXJ5KHBsb3RseSkNCg0KYGBgDQoNCkdldCBhIGdsaW1wc2Ugd2l0aCAnZ2dwbG90bHknDQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0LCB5ID0gcHJpY2UpKSArICAjaW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCApDQogICAgIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gY2xhcml0eSkpICAgICAgICAgICAgICAgI2FkZCBsYXllciBvZiBwb2ludHMgd2l0aCBnZW9tX3BvaW50DQpnZ3Bsb3RseShwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI21ha2UgaW50ZXJhY3RpdmUgd2l0aCBnZ3Bsb3RseQ0KYGBgDQoNCg==